package com.cs.core.util;

import com.cs.core.exception.ParamException;

import java.util.Collection;

/**
 * @package com.cs.core.util
 * @class AssertUtil
 * @desc 判断工具类
 * @author wind
 * @date    2023/9/15 16:12
 * @version v1.0
 */
public class ParamUtil {

    private ParamUtil(){
        
    }

    /**
     * 非空校验
     * @param obj
     * @param msg
     */
    public static <T> T notNull(T obj, String msg){
        if(obj == null){
            throw new ParamException(msg);
        }
        return obj;
    }

    /**
     * 非空和空字符串校验
     * @param obj
     * @param msg
     */
    public static String notEmpty(String obj, String msg){
        if(obj == null || "".equals(obj.trim())){
            throw new ParamException(msg);
        }
        return obj;
    }

    /**
     * 集合非空校验
     * @param collection
     * @param msg
     */
    public static void notEmpty(Collection<?> collection, String msg){
        if(collection == null || collection.isEmpty()){
            throw new ParamException(msg);
        }
    }

    /**
     * 表达式校验
     * @param flag
     * @param msg
     */
    public static void isThrow(boolean flag, String msg){
        if(flag){
            throw new ParamException(msg);
        }
    }
}
